<?php

require_once(realpath(dirname(__FILE__)) . "/../models/FuncionarioDAO.class.php");

require_once (realpath(dirname(__FILE__)) . "/../config/Auth.class.php");

class FuncionarioController {

    public function __construct() {

        //A função isset verifica se a variavel foi definida, isso evita que haja 
        //um erro caso a classe não seja chama por um formulario.
        if (isset($_POST['metodo'])) {
            switch ($_POST['metodo']) {
                case 'save':
                    self::save();

                    break;
                case 'edit':
                    self::edit();

                    break;
            }
        }

        if (isset($_GET['metodo'])) {
            switch ($_GET['metodo']) {
                case 'delete':
                    self::delete();
                    
                    break;
            }
        }
    }

    function save() {
        session_start();

        $funcionario = new Funcionario();
        $funcionarioDAO = new FuncionarioDAO();

        $funcionario->setNome($_POST['nome']);
        $funcionario->setCarteira_trabalho($_POST['carteira_trabalho']);
        $funcionario->setCpf($_POST['cpf']);
        $funcionario->setRg($_POST['rg']);
        $funcionario->setEndereco($_POST['endereco']);
        $funcionario->setBairro($_POST['bairro']);
        $funcionario->setCidade($_POST['cidade']);
        $funcionario->setEstado($_POST['estado']);
        $funcionario->setTelefone($_POST['telefone']);
        $funcionario->setCelular($_POST['celular']);
        $funcionario->setEmail($_POST['email']);
        $funcionario->setCargo($_POST['cargo']);
     
        
        if($funcionarioDAO->save($funcionario)){
            $_SESSION['success'] = "Ação realizada com sucesso.";
            
            echo "<script>location.href = '/pat/views/funcionario/';</script>";
        }else{
            $_SESSION['error'] = "Não foi possivel realizar a ação.";
            
            echo "<meta HTTP-EQUIV='Refresh' CONTENT='4; URL=/pat/views/funcionario'>";
        }  
    }

    function listAll() {
        $funcionarioDAO = new FuncionarioDAO();

        $funcionario = $funcionarioDAO->listAll();
        //print_r($produtos);

        return $funcionario;
    }

    function listById($id) {
        $funcionarioDAO = new FuncionarioDAO();

        $funcionario = $funcionarioDAO->listById($id);

        return $funcionario;
    }

    function edit() {
        session_start();
        Auth::verificarNivelDeAcesso(1);

        $funcionario = new Funcionario();
        $funcionarioDAO = new FuncionarioDAO();
  
        $funcionario->setId($_POST['id']);
        $funcionario->setNome($_POST['nome']);
        $funcionario->setCarteira_trabalho($_POST['carteira_trabalho']);
        $funcionario->setCpf($_POST['cpf']);
        $funcionario->setRg($_POST['rg']);
        $funcionario->setEndereco($_POST['endereco']);
        $funcionario->setBairro($_POST['bairro']);
        $funcionario->setCidade($_POST['cidade']);
        $funcionario->setEstado($_POST['estado']);
        $funcionario->setTelefone($_POST['telefone']);
        $funcionario->setCelular($_POST['celular']);
        $funcionario->setEmail($_POST['email']);
        $funcionario->setCargo($_POST['cargo']);

    
        if($funcionarioDAO->edit($funcionario)){
            $_SESSION['success'] = "Ação realizada com sucesso.";
            
            echo "<script>location.href = '/pat/views/funcionario/';</script>";
        }else{
            $_SESSION['error'] = "Não foi possivel realizar a ação.";
            
            echo "<meta HTTP-EQUIV='Refresh' CONTENT='4; URL=/pat/views/funcionario'>";
        }  
    }

    function delete() {
         session_start();
         Auth::verificarNivelDeAcesso(1);
         
        $funcionarioDAO = new FuncionarioDAO();

        if($funcionarioDAO->delete($_GET['id'])){
            $_SESSION['success'] = "Ação realizada com sucesso.";
            
            echo "<script>location.href = '/pat/views/funcionario/';</script>";
        }else{
            $_SESSION['error'] = "Não foi possivel realizar a ação.";
            
            echo "<meta HTTP-EQUIV='Refresh' CONTENT='4; URL=/pat/views/funcionario'>";
        }  
    }

}

$funcionarioController = new FuncionarioController();
?>
